package com.jlpay.open.jlpay.sdk.java.model.base.response;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.jlpay.open.jlpay.sdk.java.model.BaseResponse;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

/**
 * 地区码查询
 *
 * @author zhangyongfeng
 * @date 2025/7/21
 */
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class ListRegionResponse extends BaseResponse {

    /**
     * 分页条数
     */
    private int limit;
    /**
     * 分页起始
     */
    private int offset;
    /**
     * 总条数
     */
    private int total;
    /**
     * 分页起始
     */
    private List<Region> data;

    @Getter
    @Setter
    @AllArgsConstructor
    @NoArgsConstructor
    @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
    public static class Region {

        /**
         * 地区码
         */
        private String regionCode;
        /**
         * 地区名称
         */
        private String regionName;
        /**
         * 上级地区码
         */
        private String parentCode;
        /**
         * 上级地区名称
         */
        private String parentName;
        /**
         * 地区级别
         * 1-省 2-市 3-区
         */
        private String regionRank;
    }
}
